﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

//int main()
//{
//	int a = 10;//在内存中开辟一块空间
//	//这里我们对变量a，取出它的地址，可以使用&操作符。
//	//将a的地址存放在p变量中，p就是一个之指针变量。
//	int* p = &a;
//	//00000000000000000000000000000000
//	//00000000000000000000000000000001
//	// ...
//	//11111111111111111111111111111111
//	return 0;
//}

//int main()
//{
//	int num = 10;
//	int *p = &num;
//	return 0;
//}

int main()
{
	
	//int n = 10;
	//char* pc = (char*)&n;
	//int* pi = &n;

	//printf("%p\n", &n);
	//printf("%p\n", pc);
	//printf("%p\n", pc + 1);
	//printf("%p\n", pi);
	//printf("%p\n", pi + 1);

/*	int n = 0x11223344;
	char* pc = (char*)&n;
	int* pi = &n;
	*pc = 0;*/	

	//int* p;//局部变量指针未初始化，默认为随机值
	//*p = 20;
	//int arr[10] = { 1,2,3,4,5,6,7,8,9,0 };
	//int* p = &arr;
	//for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); ++i)
	//{
	//	printf("%d ", *(p+i));
	//}

	int a = 10;
	int* p = &a;
	int** pi = &p;
	**pi = 30;
	printf("%d\n", a);
	return 0;
}
	
//	int main()
//	{
//		int n = 0x11223344;
//		char* pc = (char*)&n;
//		int* pi = &n;
//		*pc = 0;   //重点在调试的过程中观察内存的变化。
//		*pi = 0;   //重点在调试的过程中观察内存的变化。
//		return 0;
//	}
//	return 0;
//}